home *** CD-ROM | disk | FTP | other *** search
/ 220 Jogos / 220 jogos.iso / classicos / pacman3 / Journal.txt < prev    next >
Encoding:
Text File  |  2003-06-19  |  59.0 KB  |  941 lines

  1.                   Deluxe Pacman Journal - rebuilding the code
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3.  
  4. Note:  This is my programming journal starting from after my hard drive
  5. crashed on me and I lost all my NEW source code.  All this happened
  6. while I was in the hospital on the edge of death with a temperature of
  7. over 105 and I could barely breath or walk...
  8. it was a bad week for me ;)
  9. ...the NEWEST entry will be at the bottom of this file.
  10.  
  11. -----------------
  12. Nov. 27, 2001
  13. -----------------
  14.     Had alot of clean-up to do!
  15.     I redone the old makefiles and combined them into one makefile for the
  16. windows build.  I deleted the linux, beos etc... makefiles and the perl
  17. scripts for creating makefiles.  I now do all my makefiles by hand.  This also
  18. reduces alot of clutter.
  19.     I had to go over all the old code I had and fix it up so it would run. As
  20. it was I had been experimenting with using a 640x480x16bit screen and the code
  21. was really messed up and wouldn't run well at all!  I redone it so it was back
  22. to the old 320x240x8bit mode and basically got rid of any experimental code.
  23. At this point I had also JUST added in a menu so I got rid of the old text
  24. display on the title screen and all associated code.
  25.    I deleted the old data file and replaced it with the version .99 one.  This
  26. meant I had to reprogram my newer map format code from memory or the game
  27. wasn't going to load in the maps.  This took a little while to remember.  I
  28. had redone the map code so that the maps were far smaller, each map cell was
  29. stored as an unsigned char, and the number of pills were stored as an unsigned
  30. short, but in the game the map cells stored data with values larger than 256,
  31. this confused me for a while until I remembered that I used temporary storage
  32. for the map at load time.  I loaded the maps from the data file into
  33. "unsigned char map.." and then copied that data over to the players int map
  34. structer, converting the data from unsigned char to int as I copied.  This
  35. allowed me to store smaller maps on disk, yet still store values larger than
  36. 256 in the map data in-game (for things like pickups and tools that appear,
  37. yet are not stored on disk permanently).  Anyhow, I got that done and the maps
  38. loaded perfectly.
  39.     Next, I had to go over all my code and clean it up so I could read it.
  40. Somehow all my tabs were all out of place and so the code was very messy
  41. looking and would be hard to work with as it was. I went over it line by line
  42. until it was all indented properly and no lines exceeded the screen width
  43. (so I could print it out neatly as well), which I did!
  44.  
  45. -----------------
  46. Nov. 29, 2001
  47. -----------------
  48.     Been working on fixing a few bugs that I had completely forgotten about.
  49. When you moved over to grab the fruit or a tool, sometimes it wouldn't
  50. disapear and you would have to go over it twice to get it, each time making a
  51. different sound.  This error eluded me for quite a while, but I managed to
  52. come up with a fix.  When a random pickup or tool is selected, I set the
  53. variables "pickup.active = FALSE;" and "tool.active = FALSE;", that ensured
  54. that when ONE was selected, ONLY one would be available to be picked up.  For
  55. some odd reason (which I still haven't discovered) sometimes after you grabbed
  56. a pickup (like an apple or something) it wouldn't set it as inactive anymore
  57. and so when a tool was randomly selected you would get BOTH tool AND pickup
  58. set as active still and so you would have to grab both.  I don't see where
  59. this happens, I looked over my code carefully and I always set the pickup as
  60. inactive (pickup.active = FALSE) after it is picked up yet it seems to be
  61. active at times, so setting both to FALSE before something is picked ensures
  62. that doesn't happen.  Still it bothers me, I need to know where it is that
  63. pickup.active (or maybe it is tool.active?) doesn't get set to FALSE (or gets
  64. set to TRUE)?  We may never know! :)
  65.     I added in code so I could select "God" mode with F9 (and disable it with
  66. F10).  This was absolutely nessecary because I needed my pacman to stay alive
  67. long enough to test if the above mentioned bug would re-occur.
  68.     I fixed the TL_DIAMOND code so the diamonds are perfectly centered over
  69. each tile, they were off center in the old code.
  70.     I went through the datafile and re-organized it a bit so that all the sound
  71. samples, fonts etc.. were all grouped together.
  72.     I redone the code to use the new fonts.  I had to reprogram pacman.c and
  73. hiscore.c mainly... I still have some work to do in that area, some code needs
  74. to be fixed so the fonts are properly centered on screen and don't overlap
  75. etc. The new fonts are 16 in height, the old one was the standard 8.  I also
  76. redone some of the code so it now checks the font size rather than having a
  77. default value of 8 in it.  This makes the code more flexible for future
  78. expansion and/or change.
  79.  
  80. -----------------
  81. Dec. 5, 2001
  82. -----------------
  83.     Fixed all the text display so that it is properly centered and not
  84. overlapping other text.  Mainly the "PRESS ANY KEY" etc... when you start a
  85. game.  Added back in the "LEVEL 1" etc.. indicator that tells your what level
  86. number you are on.  Fixed the hiscore.c text so it is all properly centered
  87. and the correct colours etc.  I also added in the "1UP", "HI" and "2UP" text
  88. next to the scores.  It actually looks a bit better than what I had finished
  89. before because the "HI" is now in the correct position, it was a little too
  90. far away from the score before and it never got fixed.
  91.     Added in cheat keys "D" to force diamonds to appear the next time a tool or
  92. pickup appears.
  93.     Added in keys 1-5 for selecting EXTRA letters to appear the next time a
  94. pickup or tool appears.  All these cheat keys were nessecary for testing
  95. purposes.
  96.     A major update was the addition of a tool timer on the right side of the
  97. screen that counts down the time left on the current tool you are using.  This
  98. was something I had planned when I first started making this game but never
  99. got around to completing and almost didn't get added until my hard drive
  100. crashed and I lost all my source code.  Now as I rebuild the code I find
  101. myself taking the time to fix the various problems and adding in these
  102. features so I don't have to come back and do it over again.
  103.     I will be working on the MENU next, I think I might try something new with
  104. it and see about using the GUI system alot more effectively with it.  I might
  105. try out a new GUI system that replaces the default system that comes with
  106. allegro and looks alot nicer, we'll see how that pans out.  If it becomes too
  107. much of a headache I will drop it and just stick with what I had before.  I
  108. also discovered some errors with some of the graphics that I created for the
  109. game and I may have to redo some of them.  The hearts don't fit properly in a
  110. couple of them.  It shouldn't be much to fix it though.  I also want to add in
  111. an actual screen to go along with the applause that one gets when you complete
  112. all the levels.
  113.  
  114. -----------------
  115. Dec. 5-6, 2001
  116. -----------------
  117.     Started work on the this evening.  I think I have improved my code so that it
  118. is far better than the original code was.  It is definately alot more
  119. organized than it was before.  The menu is working very nicely.  I added in
  120. the same menu sound I had before (the PILL sound) only I raised the pitch of
  121. it a bit to hear what it would sound like and I am pleased with the results.
  122. I think I'll keep it.  I am using the readkey() function to read keyboard
  123. input rather than key[KEY_UP] style statements so that I can easily add in
  124. joystick support later on.  When I add in joystick support I will simply
  125. use simulate_keypress() when-ever a joystick is moved, this requires buffered
  126. input which readkey() can handle nicely and I won't have to add in seperate
  127. code for the joystick.  Once the joystick is moved, it will simulate a
  128. keypress and then then keyboard routines will handle the input as if a key
  129. was pressed, kewl huh?! =D   When I created a bitmap for the menu I forgot to
  130. allocate the memory created to the BMP bitmap and crashed my computer, yay!
  131. It is always the simple errors that get ya! heheh.  So far 1 PLAYER, 2 PLAYER
  132. and QUIT menu selections work.  It is shortly after 6am, and I am heading to
  133. bed now. heheh... I'll finish the menu off tomorrow and then see what else I
  134. have left to do.  Things are coming along ALOT faster than I expected!!!  If
  135. it wasn't for the kind email I got from a fan of this game I don't think I
  136. would have even started rebuilding it, which would have been a waste as I
  137. have put ALOT of time into this project... as simple as it seems NOW, it was
  138. a learning curve for me as I worked on it... anyhow, off to bed!
  139.  
  140. -----------------
  141. Dec. 7, 2001
  142. -----------------
  143.     Okay, I got LOTS done since my last log entry.  It is shortly after noon
  144. and I have ALL of the menu  D O N E!!!  YAY!  I got RID of the window mode
  145. for the game.  Did anyone REALLY use that??  I didn't think so.  There were
  146. some bugs when displaying "PRESS ANY KEY" at the game start screen when in
  147. windowed mode.  This is a fault of Windows and/or the library and I really
  148. didn't feel like hacking around for a few hours trying to solve a problem
  149. for a mode nobody probably uses anyhow.
  150.     The "PRESS ANY KEY" part at the beginning of each level looks alot better,
  151. while trying to fix the above mentioned problem I decided to improve the look
  152. of it and I really like the result.
  153.     I edited the HELP, CREDITS and ABOUT to reflect changes in the game.  The
  154. HELP section had the largest change.  I added info about all the tools and
  155. what they are all used for etc.  I added another name to the CREDITS.
  156. I was sent in a few levels from someone who liked the game so I added them
  157. to the game (level 24-27) and gave him credit (thanks).
  158.     I updated the PACE program, it required remarkably little change, the mouse
  159. pointer needed to be fixed to the colors were correct.  I added in new code
  160. so that the mouse pointer changes to look like whatever line or pill you
  161. select, looks very kewl! :)
  162.  
  163. -----------------
  164. Dec. 10, 2001
  165. -----------------
  166.     LOTS more done!!! This rebuilding is going alot faster than I ever ever
  167. ever imagined! :)  You just don't realize how far back the old code was and
  168. how many problems I had to fix (AGAIN!).  I am almost glad it happened as I
  169. have found alot better ways to do alot of things and it is really looking
  170. good and easier to manage.
  171.     I added in more comments to my source to remind myself (and anyone that
  172. might see it in the future) what certain sections do.
  173.     I have most of the tools working, it was easier than I thought (the
  174. result of early planning that I had forgotten about).
  175.     I redone the scoring code and put it in it's own function and let that
  176. function handle adding points to the players score, mutliplying points do
  177. to tool usage, calling the floating point function where needed etc.  This
  178. really makes it simpler to redo any of the scoring in the future.
  179.     I played with the idea of floating ALL points when you grab pills, power
  180. pills etc.. but changed my mind when I tested it out.  Things can get
  181. really cluttered when you are eating pills and several blue ghosts at the
  182. same time and you have 3-6 points all floating up in the same area of the
  183. screen.
  184.     I added in code to show a shimmering shield around your pacman when you
  185. get the shield or GODMODE is enabled in cheat mode.
  186.     I added in code to stop the ghosts from moving when freeze mode is
  187. active.  Only the ghosts currently not dead will be frozen.  Dead ghosts
  188. eyes will continue to move around and when they regenerate at home (hey,
  189. they can warm up by the fire! =D) they will be able to wander again
  190. regardless of wether freeze mode is enabled or not.
  191.     I limited the number of points you can get from pickups to 10000.  The
  192. points for pickups (fruit etc..) went up by 500 points per level but got
  193. too high after you done all the levels once and seeing as how you get a
  194. free man every 50000 points I think it was reasonable to cap the points
  195. to 10000 per pickup.  I may still raise the freeman score from 50000 up to
  196. 100000.  I am thinking about allowing a free man at the FIRST 50000 and
  197. then every 100000 after that (after all, you can get an extra man with the
  198. EXTRA letters and you can gain ALOT of points if you get the present, too
  199. many extra men and the game ceases to be a challenge).
  200.     I done the question tool, it gives you a random tool or death (or
  201. nothing if it gives you an EXTRA letter you already have).
  202.    The "DEATH" tool kills you no matter what you have protecting you. I
  203. consider it like swallowing a suicide pill, no shields can protect you
  204. against yourself. I know... mean eh? :)
  205.    I recompiled the game using the release version of Allegro v4.0.
  206.    Changed the JUMP tool so that it now jumps you to a random level rather
  207. than jumping up to five forward or five back, you now get jumped to a
  208. totally random level ANYWHERE in the game.  This could be fun and is easier
  209. to code than a fixed number forward because if you jump past the end of
  210. the levels it puts you back at the first level which could bugger up the
  211. pickup points, and there is no way of knowing for certain if there are
  212. extra levels on disk that didn't come with the game that the user may
  213. have created so a random jump anywhere in the game was the safer bet and
  214. just as fun, plus the risks and benefits of using it are more pronounced!
  215. The earlier in the game you use it, the better chance of a positive jump
  216. and the later on in the game you use it, the better the chance for a
  217. negative jump... makes it more interesting.
  218.    I might change the level format again before I release the game.  I want
  219. to re-organize the lines so they look better in the editor and convert the
  220. maps that are stored on disk by the editor to a packed file format.  This
  221. should allow me to use larger numbers for maps (good for future expansion)
  222. and possibly have smaller file sizes for them.
  223.    I have started editing the graphics again, putting all the lines, pills
  224. etc.. in thier own graphic file to make for more organized source files and
  225. easier editing and also getting ready for the new map format.  This will
  226. be the final map format as redoing all the graphic files and maps is alot
  227. of work, probably more work than reprogramming this game's code again! :/
  228.  
  229. -----------------
  230. Dec. 11, 2001
  231. -----------------
  232.    I added in two new tools, the skull and dynamite.  The SKULL will kill
  233. you if you grab it. The question mark can also have this tool so be sure
  234. you're willing to take a chance when you grab it.  I found an excellent image
  235. for the SKULL tool!!!  I shrunk down a digitized image of a real skull, it
  236. looks great!
  237.    The second tool I added is DYNAMITE, when you grab it, it will kill off
  238. all ghosts that are BLUE giving you 5000 points per ghost killed.  This can
  239. give you up to 20000 points if you have all four ghosts blue so you might
  240. want to keep at least one powerpill available as long as possible just in
  241. case the dynamite appears.  With no blue ghosts the dynamite effect is
  242. useless.  When one appears grab a powerpill and then avoid ghosts and
  243. grab the dynamite for the most points.  I drew the dynamite myself.  I am
  244. no artists but I think it looks okay.  (hey, if  you can do better let me
  245. know and I'll use your artwork and give you credit in the game for
  246. ANYTHING you think you can improve upon, all art sent to me MUST be
  247. free of copyrights though, ie: public domain or I won't use it.)
  248.    I redone the TOOL labels in the datafile.  This is nothing that the user
  249. will notice but it makes it easier to add in new tools to the game, the
  250. tools are now labeled TOOL000 to TOOL014 (with a NULL TOOLZZZ at the end
  251. for performing calculations with, ie: TOOLZZZ-TOOL000=the total number of
  252. tools available, this works no matter where they are in the datafile).
  253.    I still want to re-organize the lines so they look better with the
  254. editor and so I'll have to also redo the map format slightly, this
  255. shouldn't be too hard to do, I think I can rename the labels in the data
  256. file to accomplish this without fiddling around with the artwork and then
  257. I'll only have to write a simple utility to convert the current maps over
  258. and restore them back in the datafile.
  259.    I also still have to add in joystick support, an easy task.
  260.    I also want to create alot more levels, at least 50 more, but I would
  261. prefer to have a total of 100, we'll see how energetic I get. ;)
  262.    I also have to edit some of the line graphics in the game, they have
  263. some errors that were introduced when a friend of mine redone them. He done
  264. a nice job but didn't pay attention so certain important details.  It
  265. shouldn't take much effort to redo them... then I can finally release this
  266. sucker as version 1.0 and start on something new! ;)
  267.    I just updated the docs as well.
  268.  
  269. -----------------
  270. Dec. 12, 2001
  271. -----------------
  272.    I redone the lines for the levels, if you run PACE (the editor) you will
  273. see a big difference.  They are much better laid out and easier to find the
  274. line type you're looking for.  I also redone the level format so the levels
  275. now consist of unsigned integers rather than unsigned characters.  When the
  276. levels were unsigned characters (per byte stored) you could only store
  277. values from 0 to 255.  Now that they are unsigned integers they should be
  278. able to hold values from 0 to over 16 million I think (unsigned ints are 4
  279. bytes in size, that means values over 16million!  I'll never use that much!)
  280. I am also using a packed file format so not only will the levels be able to
  281. hold an almost unlimited number of values in each map cell, but they are
  282. actually smaller when saved to disk from PACE, usually around 250bytes (the
  283. unpacked size is 1269bytes).  Not really all that large with hard drives in
  284. the gigabytes these days but I have noticed a lack of concern amoung
  285. programmers for file size these days  and it all starts to add up after a
  286. while so I am always trying to save every byte I can.  I think it is a good
  287. habit to get into, regardless of the amount being saved, so long as speed
  288. and quality aren't sacrificed too much, and they aren't in this case.
  289.    The new map format required me to unpack the levels before storing them
  290. in the data file (it is packed seperately) and adjust my routines to load
  291. either map from the hard drive (packed) or from the datafile (unpacked).
  292. Any files saved with PACE will be packed.
  293.    I wrote a utility called convert5.exe to convert all maps to the new
  294. format.  The new format required map names to be LEVEL001.MAP, LEVEL002.MAP
  295. etc. rather than LEVEL1.MAP etc... the number MUST be 3 digits long, no more,
  296. no less or the game will not load them.
  297.    To use convert5, type CONVERT5 LEVEL#.MAP (where # is the level #). Your
  298. file will be converted and probably be smaller than it was before.  You will
  299. need to rename it to the new format before using it.  So if your level is
  300. say LEVEL19.MAP for example, you would rename it to LEVEL019.MAP.
  301.    I might redo the convert utility to automatically find all maps and
  302. convert them for you, possibly even renaming them for you or spitting out
  303. a new map with the new name, it shouldn't be too hard to do, I could use the
  304. for_each_file() function I guess.  I probably will do it now that I think
  305. about it.  It would be a learning experience as I have not used that function
  306. before and it would make life ALOT easier for people who just want to quickly
  307. convert thier old levels without alot of hassle.  And the less hassle you
  308. have, the less email I get asking how to do it. :)
  309.    I want to redo the END OF LEVEL flashing screen so it doesn't flash WHITE
  310. anymore.  version .99 had this already done and I forgot about it until I was
  311. watching my wife play the game and noticed that I had to redo it again.  It
  312. shouldn't be too hard to do and looks nicer than the flashing white, it could
  313. also prevent a siezure. ;)
  314.    Oh, I renamed the levels in the datafile to LEVEL001, LEVEL002 etc... as
  315. well.  I also renamed the lines to A00LINE01, A00LINE02 to A07LINE19 with
  316. A99LINEZZ as the end marker.  This is more neat looking, I had renamed it
  317. while I was re-organizing the lines around so they would look better in the
  318. editor.  There are better ways to do this, I know indexes to the datafile
  319. indexes would be ideal, and then storing the indexes in the map files would
  320. be far far far easier when converting maps as I would have no need for a map
  321. converting program because I would only have to redo the indexes in the editor
  322. and the game to point to the proper graphics, but I want to do this in a
  323. future version of the game when I start fresh... indexed maps would have been
  324. alot easier if I had thought of that in the first place though.  Live and
  325. learn I guess.  Right now the maps store the actual  datafile number of the
  326. graphic to use (which meant that all my graphics had to be at the beginning
  327. of the datafile and not go over 255 when the map format was using unsigned
  328. chars, indexes would have been alot better in that case as well).
  329.    I reprogrammed the game so that when pickups (fruits etc...) appear, they
  330. appear randomly.  There is no longer a different pickup for each level.  I
  331. felt it looked nicer to have different items appearing to pickup rather than
  332. the same one for the whole level.  This also solved a new bug that popped up
  333. with the pickup display routine.
  334.    I reprogrammed the game so the screens don't fade out anymore.  This
  335. caused some wierd problems on some computers (my other computer had problems
  336. with the fading, it has a Voodoo 3-2000 video card in it).  I put the
  337. background image back in the title screen so when you switch from the title
  338. screen to the main menu you have a common background behind both of them
  339. that looks better when switching between the two.
  340.    Lets see, I just have to add in the joystick support, edit some of the
  341. line graphics and maybe create a few new levels and I am finished (unless
  342. I am crazy enough to think of something else I want to add!).
  343.  
  344. -----------------
  345. Dec. 13, 2001
  346. -----------------
  347.    I redone the present tool graphic.  The old one was very plain looking.
  348. The new one looks a little better.  I am no artist but it's better than
  349. nothing. ;)
  350.    I fixed the errors that were in some of the line graphics, errors
  351. introduced by a well meaning friend to redone the graphics (and done a nice
  352. job), except there were a few problems around the areas where the hearts
  353. appear, some of the boxed areas weren't large enough for the hearts and the
  354. hearts would overlap the lines a bit, this is now all fixed.
  355.  
  356. -----------------
  357. Dec. 17, 2001
  358. -----------------
  359.    Between yesterday and today I woked on adding in joystick support.  I also
  360. moved all the input functions into thier own module called input.c.  All
  361. keyboard and joystick main functions are in there now.  I also had to move a
  362. couple global variables over to input.c and I redone a few pacman.c global
  363. variables so that they could be made external in pacman.h so input.c could
  364. use them.  This also cleaned up pacman.c near the beginning of it a bit as a
  365. side effect.
  366.    I had a small problem with the joystick routines in the continue() function
  367. (located in input.c), I had to add in code to wait until the user released the
  368. joystick button before the function continued on, I ran into problems when I
  369. forgot to poll the joystick while checking to see if the button was relased,
  370. as a result I ended up in an infinite loop resulting from the joystick button
  371. variable not being updated because the joystick wasn't being polled.  It was
  372. one of the stupid little mistakes that takes you a while to figure out because
  373. it would crash the system and I had to reset everytime. Hehehe... live and
  374. learn I always say. ;)
  375.    I believe I have done everything that I really wanted to do with this. I
  376. might package this up and release it as v1.0b and MAYBE make any refinements
  377. later on I wish and release it as the final non-beta release.
  378.    Ooops, found a couple small errors with the level editor (PACE).  When you
  379. loaded a new level in the line graphics wouldn't change to the set the level
  380. uses and things would be a little screwed up.  The editor now switches to the
  381. line set the level uses and up dates the screen.
  382.    When you loaded a level or switched to a new line set, the mouse pointer
  383. would still have the last piece you selected, even if it was not the current
  384. line set.  If you clicked NEW the pointer would have nothing, fixed.
  385.  
  386. -----------------
  387. Dec. 25, 2001
  388. -----------------
  389.    Got an email from Robson today, he mentioned the game speed in hard wasn't
  390. fast enough and the keyboard input wasn't responding.  I tweeked the speed
  391. so that hard is now faster, easy is now slower (great for young children).
  392.    I have an idea for improving input, I'll check for keyboard input, if
  393. there is any, I'll ignore any joystick input.  This will HOPEFULLY correct
  394. the problem.... although I still think it has alot to do with Windows
  395. joystick calibration.  I am tempted to remove joystick routines all together
  396. as I don't currently know of ANYONE that uses a joystick with this.
  397.    I added in code so you can turn the music and sound on and off as well as
  398. selecting keyboard only or joystick (& keyboard).  The keyboard will still
  399. work in joystick mode, but you may have problems using the keyboard if your
  400. joystick isn't calibrated properly (and I am NOT adding in calibration code
  401. when windows has calibration built in).  If you select KEYBOARD from the
  402. options menu the game will not check for joystick input at all.
  403.    The code for music and sound toggling is just as it says, it toggles
  404. music and sound on/off.  This could be handy for late night sessions when
  405. you want to play but not wake anyone or if you are having sound problems but
  406. still wish to play.
  407.  
  408. -----------------
  409. Dec. 28, 2001
  410. -----------------
  411.    Edited the input system a bit so if you press more than one cursor key at
  412. a time the game will most likely respond the way you wish it to and the pacman
  413. will be easier to control.  It was a minor fix but some people seem to really
  414. notice the difference so here ya go! :)
  415.    Fixed the pause button which wasn't working.
  416.    Fixed the GAME OVER graphic which wasn't appearing when all your pacmen
  417. died.
  418.    Added the version number to the title screen.
  419.    Fixed a few other minor cosmetic items and cleaned up the code a bit.
  420.  
  421. -----------------
  422. Jan. 13, 2002
  423. -----------------
  424.    Minor changes in all my source code.  I changed all the function names so
  425. that all the functions that didn't require any variables ie: void function()
  426. were renamed to: void function(void).  I learned there is a different meaning
  427. in C than C++ for such functions.  A function in C with () doesn't nessecarily
  428. mean void, it could mean multiple variables in no particular order or whatever
  429. depending upon the compiler.  I wanted to be certain so I put void in all
  430. the functions to prevent any confusion or problems.  I also re-compressed all
  431. my executables and the allegro dll with the latest version of UPX (v1.20) for
  432. windows.  This reduces the size quite a bit for the DLL whose original size
  433. was 800K and is now 400K!!  It also reduces the executables size a little.
  434. This may not make much sense in the age of 40GIG hard drives and I wasn't
  435. going to bother until someone mentioned to me in an email that it might would
  436. be helpful to those with slower connections, the smaller file sizes would mean
  437. less time waiting for the download to complete, and that made sense so I
  438. reduced the size.  It also helps it fit on a floppy disk quite nicely and
  439. with limited space allowed for me on my website, every byte counts.  I renamed
  440. the version number to v1.02b just for the actual filename and description.
  441. If you run the game it will still say v1.02, the game itself is exactly the
  442. same, only a little smaller in size.  If you have v1.02 there is no need for
  443. v1.02b, unless you want to send it to friends.
  444.  
  445. -----------------
  446. Jan. 28, 2002
  447. -----------------
  448.    Done some cosmetic changes to the game.  Change the title image and the
  449. hiscore background, added the fancy little block "fade-in" routine I used for
  450. the hiscore to the title screen, main menu and the first time you start
  451. playing just for looks.
  452.  
  453. -----------------
  454. Apr. 27, 2002
  455. -----------------
  456.    Recompiled the source code so that it is a true, 100% Windows compile,
  457. rather than a Windows console program (or a Windows DOS mode program, but
  458. not actually a DOS program... <shrug>).  Anyhow, you'll notice right away
  459. that there isn't a small DOS (windows console) style window when the game
  460. starts, there is just the full screen window.  This should improve stability
  461. and allow the program to be run on newer versions of Windows hopefully.  If
  462. this runs on Windows XP, please let me know, I don't run that version and
  463. would like to know.  The new version of this game has only a slight version
  464. number change, v1.03w instead of 1.03 to indicate it is 100% Windows compile.
  465.  
  466. -----------------
  467. Apr. 29, 2002
  468. -----------------
  469.    A friend (Kirk Wilson) tested the new compile with Windows XP and it ran!
  470. Only one little problem... portions of the video would disapear.  This has
  471. NOTHING to do with *MY* programming but WINDOWS XP handles the display
  472. differently and doesn't like to keep the video contents intact.  I used a
  473. dirty rectangle system of updating the screen which only updates portions
  474. of the screen that actually CHANGE, unfortunately I had to remove that and
  475. go with a straight double buffering system where the entire screen gets
  476. updated every frame.  This is a much slower method, but my system still
  477. gets around 192 Frames per second which is respectable, but REALLY slow
  478. systems might hurt, I don't know, I honestly don't think anyone has so slow
  479. a computer that they won't be able to play my game, especially if they're
  480. using Windows XP anyhow so all should be okay.  If you have any problems
  481. please email me and let me know.
  482.  
  483. -----------------
  484. Jun. 21, 2002
  485. -----------------
  486.    Just got done with version 1.04.  I had a few requests to add a Windowed
  487. mode back in the game so I have done that.  I am also using a newer version
  488. of the NSIS installer (v2.0a0) which is a little nicer and I added in CRC
  489. checking to the installer so when you first run the installer it will check
  490. itself to make sure it hasn't been altered by a virus or whatever by
  491. calculating it's CRC (checksum code) and comparing it with the code that was
  492. stored in the installer when I packaged everything up.  If these don't match
  493. the installer should warn you and fail to install.  If this happens to you
  494. DELETE THE GAME and download it again, or if the place you got it from has
  495. an altered version of the installer with this error, inform them, do a virus
  496. check on the file etc.  Download the game from my own personal website if
  497. you must, it will always be virus free.
  498.    I also enabled the close button in windowed mode so that you can shut down
  499. the game normally by clicking the close button.  This has the same effect as
  500. select QUIT from the menu or pressing ESCAPE so don't worry.
  501.    I changed the icons for the installer to better reflect the game, the llama
  502. that you normally see has been replaced (eaten? ;)) by a pacman.
  503.  
  504.    I uploaded version 1.04 to my website and gamedev.net and started work on
  505. v1.05.  I fixed a problem in cheat mode and with GODMODE enabled, if you
  506. grabbed the skull yo died.  This no longer happens.  The dynamite now blows
  507. up ALL the ghosts (except the "dead" ones that only have eyes left) rather
  508. than just the blue ones, my wife wanted it this way, so she gets it ;)  It is
  509. alot more fun watching them all "blow'd up real good" he he he... plus you
  510. get ALOT more points if all 5 ghosts are alive, 5000 per ghost.
  511.    Well, the close button works everywhere but when in a dialog, what
  512. a pain in the butt they are.  I knew I should have designed my own and avoided
  513. allegro's GUI, it is a royal pain.  Now I have a reason to redo the menu
  514. system, but I am not sure if I want to do a complete overhaul of this game
  515. or save it for version 2.  I want the menu system to be alot better with
  516. more graphics, especially in the HELP section where I want actual images
  517. of the various tools you can pick up with descriptions next to them.  This
  518. shouldn't be hard to do and will be infinately better looking than the ugly
  519. allegro GUI system.
  520.    Fixed the problem with the end of level flashing properly in windowed mode!
  521.    The installer will now add links to ALL the text files that are installed
  522. in your game directory, including this Journal, Cheat Codes (added new this
  523. version so you know all the keys) and the Map file format document in case
  524. anyone feels like creating thier own Deluxe Pacman map editor or perhaps a
  525. random map generator? (I doubt it but you never know).
  526.  
  527. -----------------
  528. Jul. 9, 2002
  529. -----------------
  530.    (actually several days, I just forgot to update this, so sit back and
  531. relax a little, this is going to be a long one! ;))
  532.    Okay... I done ALOT of changes... the game now runs at 640x480 instead
  533. of 320x240.  It LOOKS basically the same still.  You will only really notice
  534. it when you look at the credits, help etc... which are half the size and when
  535. you look at the LEVEL box at the beginning of each level that tells you which
  536. level you are on, it is smaller, also the tiny numbers that float up are about
  537. the same size, but I am using a more detailed font so they should look a bit
  538. better. Also the hiscore screen has smaller letters.  I can change this later
  539. on in a different version.  WHY change resolution when it all looks the same?
  540. Well, for one when you run the game in windowed mode the window is now double
  541. the size.  Also, 640x480 is a standard resolution, ALL cards support it
  542. guaranteed (or it is time to upgrade, they invented SVGA now! LOL).  Another
  543. reason is I DO plan on changing to ALL new graphics, high res, nicer looking
  544. etc... maybe even 16bit graphics, so long as it doesn't effect the games
  545. performance much.
  546.    Another MAJOR change was that I switched from double buffering (which I had
  547. to go back to, due to some Windows XP problems with dirty rectangles which is
  548. ultra fast!!!) to page flipping.  Dirty rectangles is STILL faster, and I can
  549. still use them with page flipping for probably some pretty fantastic frame
  550. rates, but page flipping takes place 100% in video memory, which means the
  551. game can use all video memory.  This increases the minimum video ram by
  552. about 4 times (double the resolution and double the video screens) but
  553. currently it only adds up to about 614K of video memory, plus I am also
  554. blitting much of my graphics to video memory to help speed things up so
  555. you can probably count on requiring at least 1MEG of video memory, which
  556. isn't all that much, but you want an accelerator card if you have any
  557. problems with speed.  Without an accelerator it could slow down a tad
  558. although page flipping is still faster than double buffering... I'll have
  559. to test all this out on a non-accelerated system.  Remember though, a higher
  560. video memory requirement means a lower system memory requirement, if it is in
  561. video memory it doesn't need to be in system memory (well, currently it is
  562. in BOTH, but that will change, I am working on it...).  These days I don't
  563. think memory is much of a problem for most folks.  I may have to add in a
  564. system for people without accelerator cards, I don't know how many out there
  565. don't own one, I can't see anyone NOT owning one, but... you never know.
  566.    I fixed a LONG existing bug in the game, a minor one really that you
  567. probably hardly noticed... or did you?  Anyhow, if you grabbed a powerpill
  568. before and you ate the red ghost (or possibly another), and the eyes of the
  569. red ghost made it home while the other ghosts were still blue, the background
  570. sound you hear when they are scared stops and returns to the normal sound
  571. even though some are still scared (blue).  This has been fixed anyhow... now
  572. if they are ALL eyes (eaten...) then sometimes the scared sound goes on a bit
  573. longer, but that is minor... I may fix that soon as well, but I wanted to get
  574. this entry updated as I missed alot of days I was working on this bug fixing
  575. and forgot to update the journal.  I was having a problem with an invalid page
  576. fault which means that mostly likely I was trying to blit a bitmap that didn't
  577. exist, or a non-bitmap.  I had just changed the ghosts to video memory so
  578. in all likelyhood it was a pointer to one of the ghost images.  This gets
  579. complex as I have quite a few variables referring to them.  Well, it turned
  580. out that I had inadvertantly deleted a line that I didn't think I would need
  581. again that would switch the current ghost image back to the first image in the
  582. ghost's animation after he was scared.  I had a different system I tried out
  583. that turned out to be a bigger headache and I figured out a better system.
  584. Anyhow, I didn't put the line back in (dumb, I should have just commented it
  585. out!), but I WAS smart enough to make backups of all my code before changing
  586. anything.  It took me 2 days to find that bug!  MANY MANY resets and alot less
  587. hair later it was fixed and I could finish up the rest of the code, like the
  588. menus and hiscore screens which needed to be changed because they wrote
  589. directly to the SCREEN in allegro and seeing as how I was using page flipping
  590. this had to change because the "screen" is always in a different memory
  591. location, one of two locations (the two pages).  My solution was to force the
  592. game to switch to the FIRST screen and also to DRAW on that screen, basically
  593. turning off page flipping for the hiscore and menu screens and then when
  594. it drew to the current page, (screen) they drew the images on the page you
  595. were looking at, rather than a page in the background like you normally would
  596. in page flipping (in page flipping you draw on an offscreen video page, then
  597. you tell the video card to switch to that memory location so it becomes what
  598. you see on the screen and you draw on the other offscreen video page... hence
  599. you flip back and forth and it is seemless, no blitting required which makes
  600. it alot faster.  Although with hardware acceleration you get accelerated blits
  601. and clears so all my other graphic data is in video memory to take advantage
  602. of hardware acceleration.  The ghost images and pacman images don't really
  603. make a difference, mainly the map data like lines and pills.  The pacman image
  604. is in regular memory, it needs to be rotated and that is VERY VERY SLOW in
  605. video memory, also the pickups and tools are all in system memory where
  606. I'll probably leave them, they are too small to make any difference.
  607.    I added a -nosound switch to the command line to you can turn off the sound
  608. and music before the game starts, good for those late night programming
  609. sessions when I don't want to wake my wife. :)
  610.    I added more "CHEAT" codes to help me program the game mainly.  Now if you
  611. press "F" you force the next tool to pop up to be a FREEZE.  The ghosts eyes
  612. now STOP moving and just stare blankly at YOU (the player!) while they are
  613. frozen, it looks kewl I think. :)  If you press F1-F4 you will instantly turn
  614. one of the ghosts BLUE (scared, depending on the F-key pressed), I needed this
  615. while fixing that scared sound bug.
  616.    I made the shield (circle around pacman) a little larger, it looks better I
  617. think.
  618.    The scared sound now stops when all the ghosts are dead.  I also added in
  619. a new feature, the scared sound increases in pitch as you eat the pills.  It
  620. works on a percentage bases, the less pills there are, the higher the pitch
  621. up to a maximum of 2 times the normal pitch.  It sounds purdy kewl I think.
  622.    There is a minor bug that still exists.  Once in a while, when the moon
  623. is blue, on friday the 13th when you grab a tool it will last 2-3 times longer
  624. than it should!  This can give you a major advantage and I want to fix this
  625. ASAP, but I also want to get another version out, so I figure you won't mind
  626. getting this little bonus bug for a little while until I figure out what is
  627. causing it to behave in that way.
  628.  
  629. -----------------
  630. Jul. 10, 2002
  631. -----------------
  632.    Okay, I fixed the problem with the tool and pickup timers so now they
  633. should appear on time (no more long delays) and when you get certain tools
  634. that last a specific amount of time (like the freeze for example) they won't
  635. last 2-3 times longer.  It was a minor bug to do with the retrace_count I use
  636. to time everything in the game and sometimes when I test it with a divide %
  637. it skips because it might be 1 off.  Now I do the division and test to see
  638. if it is within 10 numbers from the interval I wanted so the MOST it will
  639. go over or under the time would be 1/6 of a second, more in likely it wouldn't
  640. be more than 1/60 of a second, which wouldn't even be perceivable by a person
  641. playing the game.
  642.    Now that I have squashed that bug I want to work on all new hi-res
  643. graphics.  The current graphics were made for 320x240 resolution, now that I
  644. am using 640x480 I can double the size of the bitmaps used for the map lines,
  645. pills, pacman and ghosts and reduce the blockiness with much more detail and
  646. it should look very nice.  I might also switch the game to 16bit so I can use
  647. more colour in the game.  I will be using 3D rendering software (Truespace 1
  648. which is FREE on the internet now!) to render the pills, pacman, ghosts,
  649. lines etc... it should look good!  Although creating Pacman and especially
  650. ghosts in 3D is alot of work!  the pacman is almost done, the ghosts will be a
  651. bitch.  The pills will be a breeze, simply render a 3D sphere with maybe some
  652. coloured lighting on them and they should look very nice.
  653.    Anyhow, off to work.... oh, the game shut down on my wife for some unknown
  654. reason.  She was on level 8 and a present apeared, when she grabbed it, the
  655. game just shut down very fast with no errors.  I suspect it was something
  656. running in Windows that caused this as it doesn't make sense that the game
  657. would do this, BUT I will be keeping my eyes open for any problems that might
  658. occur and swatting any bugs.  Let me know if you run into ANYTHING as this is
  659. the ONLY bug that MIGHT be left, although I can't imagine it being anything
  660. to do with the game, but you never know... it MAY have had something to do
  661. with the number of sounds playing at once, she has a sound blaster 16 in her
  662. system, but the game never plays that many I don't think... hmmm...
  663.    Added in a new cheat code to force the next tool to be a PRESENT, this was
  664. so I could test for that bug, see the cheat text file for more info.
  665.  
  666. -----------------
  667. Aug. 8, 2002
  668. -----------------
  669.    I found out why the game was shutting down.  There is a few bugs with the
  670. Allegro library that I have to work around.  For some unknown reason the game
  671. has a HUGE memory leak when I used page flipping and would eventually crash
  672. on you, the less memory you have, the sooner it would crash.  I switched to
  673. dirty rectangles again and the library has a bug when you use it with Windows
  674. XP and dirty rectangles.  Windows XP likes to clear the screen on you for no
  675. particular reason and this really screws up the game with dirty rectangles
  676. because the game only updates the areas of the screen that actually change.
  677. I JUST got an email from a fellow programmer who came up with a solution
  678. TODAY and I implemented it right away.  It is basicaly a hack to avoid using
  679. certain areas of video memory, but it works.  It uses extra memory that isn't
  680. needed, but this shouldn't be a problem unless you have a REALLY OLD video 
  681. card with a meg of memory or less.
  682.    The game now runs at 640x480.  I put together a special version to release
  683. right away so people can play it without any bugs, it is 8bit and the
  684. graphics have been stretched to fit the screen.  The main reason for changing
  685. to the higher resolution is because some video cards don't support modex 
  686. resolutions like 320x240.  But ALL video cards support 640x480 and since that
  687. happens to be exactly double the size, I simply doubled the size of the 
  688. current graphics.  I am working on all new hi-res graphics and maybe 16bit,
  689. but 16bit is slower, I may stick to 8bit which still looks very nice.  The
  690. newer graphics are looking good and I will release them soon, you should
  691. only have to download the new datafile when they are done instead of the
  692. whole game as the current code will work with the newer graphics.  The
  693. title screen is new, it has been dithered from 16bit to 8 bit and you can
  694. tell.  I will be changing it to either 16bit only, or 8bit but with it's
  695. own palette so it will look like 16bit.
  696.    Redone the title screen some more so now it has it's own palette.  This
  697. means I can still have an 8bit title screen, but now it has the entire
  698. palette for the screen which makes for a much nicer looking screen.  Right
  699. now it looks just as good as the 16bit version.  I am going to redo the
  700. menu the same way, I want it to have it's own palette which will mean more
  701. colourful menu, with a 16bit "look" to it but in 8bit.  This will also free
  702. up more of the actual GAME palette used when you are playing for more colours
  703. used for the actual game and NONE needed in the main palette for the title
  704. screen or the menus which will end up with a 16bit LOOK with an 8bit palette
  705. and greater speed than 16bit.  Even the game AGE OF EMPIRES is 8bit!  They
  706. just use a very nice pallete for the game, and I bet seperate palettes for
  707. the menus etc.
  708.    Oh, the level editor ISN'T included with this version because I have not
  709. redone it yet to use the larger graphics.  You can use an older editor from
  710. version 1.03 or something (with the OLDER datafile, just put PACE and the
  711. datafile from that version of the game in  thier OWN seperate directory,
  712. DO NOT OVERWRITE THE NEWER DATAFILE) and the levels it creates can still be
  713. used with the newer game.  I will redo the level editor in the days to come,
  714. I am not sure how I want to redo it though... but I'll think of something.
  715.  
  716. -----------------
  717. Sep. 5, 2002
  718. -----------------
  719.    More bug fixes, still due to library bugs and not my code, but I managed
  720. to implement more fixes to help work around the problem.  The OPTIONS menu
  721. now has a new feature called "DIRTY" which allows you to toggle dirty
  722. rectangles on or off.  Dirty rectangles greatly speed up the game by only
  723. updating the areas of the screen that actually change.  The only problem is
  724. that with WindowsXP (and possibly other NT based versions of Windows) they
  725. will suddenly blank the screen on you and the game doesn't update the entire
  726. screen.  The game disables dirty rectangles on WindowsNT, 2000 and XP and
  727. enables it on all other versions of Windows.  You can change wether or not
  728. it is enabled in the options menu to force it on or off if you wish.
  729.    I created a special title screen for the Gamedev.net version of the game
  730. with thier logo on the title screen.  I figure it's the least I can do
  731. seeing as how they host my game for free.
  732.    The last version (v1.30) had a problem with the menu.  The technique I
  733. used to get around the blanking bug ended up screwing up my menus so they
  734. were hidden when you tried to use them.  This is fixed now.
  735.    I noticed the music seems to be muffled on me.  I think this is because
  736. of old SB-Live! drivers, I will update them to see if it fixes the problem,
  737. I seem to remember it fixing it before.  Let me know if anyone else has this
  738. problem.
  739.  
  740. -----------------
  741. Oct. 15, 2002
  742. -----------------
  743.    HAPPY DAY!!!  I am so pleased today I cannot describe it! :)  The bug
  744. that has plagued this game and the game library that I use has been FIXED!
  745. MANY thanks to all the folks that work very hard on the Allegro library,
  746. these guys don't get paid to do this, they just love to program and were
  747. a huge help.  The bug that caused this game's screen to suddenly go blank
  748. when run under Windows XP has been fixed and now runs smoothly for ALL
  749. versions of Windows! Many thanks especially to Eric, I mention him and
  750. another guy in the games credits, please take a moment to read though
  751. them.
  752.    I am releasing v1.32 of this game and I MIGHT just call it quits for
  753. a while with THIS game anyhow.  I WILL do a major update for it in the
  754. future with all new graphics but I just want to give this bug free, working
  755. version of the game a chance to get around and people to enjoy it
  756. while I work on another project.  I might take some time and update the
  757. level editor for this for v1.33 and release it ASAP, but other than that
  758. I'll put any other game updates on hold for now as it is running smoothly
  759. and I need a break from it. heheh :)
  760.    OH yeah, one last SMALL bug I fixed, if you selected -nosound as a
  761. command line option when you ran the game, it would STILL try to
  762. initialize your sound before it played!  DUH... this wasn't a problem
  763. as it would initialize it but wouldn't actually play anything, but IS
  764. a problem if you don't have a sound card installed on your system!  The
  765. game would get a critical error trying to initialize the sound card and
  766. you couldn't play it! hehehe... a small oversight.  OH, if you play the
  767. game with the -nosound option enabled at the command prompt, that you
  768. can't re-enable the music within the game without risking a crash.
  769. Actually, I'm not sure what would happen, perhaps nothing.  The sound
  770. card is NEVER initialized if you use -nosound command line option so
  771. re-enabling music (or sound!) from the options menu will cause the game
  772. to try and play them again, but with no sound card... could mean *POOF*. 
  773. You have been warned. ;)  (I'll probably add in a protection for this
  774. in v1.33 as well, but for now just use common sense).
  775.  
  776. -----------------
  777. Dec. 5, 2002
  778. -----------------
  779.    I just got done redoing the level format slightly.  The new level format
  780. is version 6, I had made a slight error when I originally coded the level
  781. loading and saving routines in.  The error is a minor one that probably would
  782. never have caused any problems but I didn't want to take any chances so I
  783. fixed it now and converted all the old levels.  It took a while, but it
  784. is better off this way.  The code is corrected now with no errors, the levels
  785. will no longer be packed when you save them to disk, they will be 1K larger
  786. in size, this was nessecary because in order to add new levels to the data
  787. file they have to be uncompressed, it was easier to have them uncompressed
  788. in the first place rather than go through the hassle of decompressing
  789. them etc... when the file size is so minor, most people have a minimum of
  790. 4K block size for thier hard drive so the old size of under 1K and the new
  791. size of over 1.24K will make no difference in how much drive space it will
  792. take, either way it would occupy 4K of space minimum.  When the levels are
  793. loaded into the datafile, the datafile compresses them so there is no loss
  794. in space at all in any game I release, only on levels people create.
  795.    I still want to add more features into the level format like individual
  796. level names, pacman starting position, ghost starting positions, ghost home
  797. entrance etc... but I'll save that for the future.
  798.    Next thing I will do is create a conversion program for anyone who has
  799. packed levels they want to keep to convert them to the new format.  It
  800. should be pretty easy to implement. (famous last words eh?)
  801.  
  802. -----------------
  803. Jan. 8, 2003
  804. -----------------
  805.    Another new year, and I am still programming this thing.  I think my
  806. tombstone will read "here lies Pacman" or "the ghosts finally got him" ;)
  807.    Anyhow, thanks to "Gary" for reporting an obscure little bug with the
  808. jump tool!  I made a small programming mistake and as a result the random
  809. jump tool would pick a level from 0 to 27 instead of 1 to 28 (other
  810. programmers will recognize this mistake rand()%28 ;) You have to remember
  811. to add a 1 after that or it picks from 28 random numbers, but you have
  812. to remember computers don't count from 1, they start at 0, at least in C
  813. they do and so it would pick a value from 0 to 27 (which is 28 numbers in
  814. all) so you had a 1 in 28 chance of getting level 0, which didn't exist and
  815. do to some other oversights it wouldn't pick up that the level wasn't loaded
  816. and whammo... crash.  All fixed anyhow, it had the potential to lock up your
  817. computer under Win98, it was a rare bug and you would have to play the game
  818. ALOT to find it. (I guess Gary is a fan ;)).
  819.    IN order to find the bug I had to implement a cheat key to force the next
  820. pickup/tool to be the JUMP, press "J" in cheat mode to get it.
  821.    I also had a comment from one person that found the shaded numbers made it
  822. difficult to tell a 9 from a 0 so I added an option to turn off shaded
  823. numbers.  If you turn them off you still get coloured numbers, just no
  824. shading and they appear a bit brighter.  It actually doesn't look too bad.
  825. Anyhow, for those of you who prefer them unshaded, you now have that option.
  826. (see, if you have a feature you want, just tell me! heheh)
  827.    I also worked on finishing the graphics some more after taking a break
  828. from editing them.  Trust me, editing the graphics takes more time than
  829. programming the game!  And it doesn't help that I am no artist.  I'll try
  830. and finish them up as soon as possible as I really need to get the next
  831. version out there with the bug fix.  In the meantime I will upload what I
  832. have completed so far to the website.
  833.    I removed the DIRY ON/OFF option, it was left over from the buggy WinXP
  834. days, that bug was fixed (and I no longer use WinXP, I went back to good old
  835. Win98se) so I no longer needed that option, it was replaced by the Shaded
  836. Text option.
  837.  
  838. -----------------
  839. Mar. 22, 2003
  840. -----------------
  841.    I modified Allegro's Setup utility for use with the game so that people
  842. who have problems with audio MIGHT be able to fix it with this.  There are
  843. no guarantees though, but it does allow you to select which audio driver
  844. you wish to use under Windows.  The MIDI and other items aren't used in
  845. Deluxe Pacman, only the digital driver will effect the game at all, I am
  846. just too lazy to program out the things that aren't needed. ;)  I am
  847. throwing setup in to help a few people who have had problems (mostly
  848. because of built in, onboard sound which I don't recomend to anyone, buy a seperate
  849. sound card, I highly recommend Creative SoundBlaster sound cards, I use a
  850. SBLive! Value, which is pretty cheap but with really nice quality sound and
  851. it works.)
  852.  
  853. -----------------
  854. May. 25, 2003
  855. -----------------
  856.    I finished redoing the line graphics so now they are now hi-res 16bit
  857. graphics rather than just resized 8bit graphics.  I also redone the Pacman
  858. character graphics so he looks totally different than before.  The Pacman
  859. should be the most noticable difference, he is now all new, hi-res 16bit,
  860. redone from scratch.  Now I'm wishing I had redone the ghosts the same way,
  861. I still might, but first I want to get all the pickups and tools redone to
  862. new hi-res 16bit graphics.  I also need to redo some of the coloured text,
  863. it is currently still 8bit, low-res, I need to create larger, hi-res
  864. 16bit versions to get rid of the blockiness of it and just plain look
  865. better.  I will keep the low res text for smaller text displays (like
  866. the opening "get ready player one" stuff looks nice with the smaller
  867. text), but the scores and the large text on the high score screen doesn't
  868. look good at all.
  869.    Once I am done ALL the graphics, I will start on possibly adding in the
  870. GUN (due to popular demand... 2 or 3 people actually requested it :)) and
  871. I MIGHT add in the EXTRA bonus screens, not sure... or I may just save it
  872. all for version 2 of the game to avoiding hacking away at old code (and
  873. some of the code in this game is VERY old!  Just ask me for it and I will
  874. you the source for v1.32 of the game. ;))
  875.    I added in a new level, LEVEL029 is now in the game using one of the new
  876. line graphic sets.  I plan on taking an entire day and doing nothing but
  877. creating levels.  I would like to get up to 100 levels, and I think I can
  878. get there in a day with some work (I said that before didn't I?)
  879.    I'll probably start doing more work on this game again, it has been a
  880. while since I done a large amount of work on it.
  881.  
  882. ---------------------
  883. Friday, Jun. 13, 2003
  884. ---------------------
  885. - 1:00am
  886.    Friday the 13th... <Bart voice>are we scared yet?  Anyhow, I got alot done since my
  887. last entry.  I just got done totally changing the fonts for the game to new
  888. hi resolution fonts.  I used anti-aliasing on the fonts to reduce the jaggy
  889. edges and blockiness of the letters.  I also created three different sizes
  890. of fonts, small, large and huge.  I done this to avoid stretching fonts to
  891. make them larger as this makes them too blocky looking (you could really see
  892. this on the high score screen).  Now the high score screen (now renamed the
  893. "HALL OF FAME") uses HUGE fonts for the large letters and a large font for
  894. the scores and names (large font is used on the game screen as well).  The
  895. small font is used for the credits, about etc.  I have also added about 10
  896. new levels of my own, plus someone who likes the game has sent me about 20
  897. levels, so look forward to at least 30 new levels, plus I have at least 36
  898. more levels beyond these already designed on paper, just not created yet.
  899. So 66 NEW levels, plus the 29 that already exist makes it about 96 levels,
  900. and I will make up whatever number is required to make an even 100 which
  901. has been my goal all along.  I have many more plans that I am working on
  902. adding to the game in the next couple of months.
  903.  
  904. - 2:10pm
  905.    Got alot more done.  I managed to fix two bugs, one allowed you to enter
  906. the ghosts home, I fixed it so you can't enter into thier home no matter
  907. which direction you come from (the way it should have been from the start!)
  908.    There was alsoa a nasty bug that on rare occasions, if you were on level
  909. 29 and you grabbed the jump, it could crash on you.  This has been fixed,
  910. what I did was when jump would randomly select a level, if it happened to
  911. select level 28, the game would then end level 29 and before it jumped, it
  912. would hit some code that would increment the level (as if you just properly
  913. ended the level) and so your new level would end up at the same level, this
  914. caused some problems in the way the game was coded and *whammo* crash time.
  915.    Anyhow, it was fixed and won't happen again.
  916.    I also fixed a bug with the high score routines where they wouldn't
  917. properly load the high scores.  Nobody ever seen this bug because it was
  918. introduced in the last version and caught before I released it.  I had
  919. accidentally deleted a routine to set the password to "NULL" before saving
  920. and loading the high scores.  The functions I use to save and load high
  921. scores are effected by the password function... oops.  Just glad it was
  922. fixed before I released it.
  923.    Anyhow, this is version 1.40 now as there have been some major changes
  924. to the game.  I am going to upload this to my website as an official release
  925. due to the fact that it fixes a few important bugs and is to the point where
  926. most of the graphic work has been finished and so looks purdy good.  Any
  927. old versions should be completely uninstalled and this should be installed
  928. fresh.  The reason being is that it no longer relies on a DLL as with other
  929. versions, the library is now statically linked (part of the program itself)
  930. for reasons I won't get into here.  Also, the hiscore names are now limited
  931. to 19 characters long rather than 20, if you have a hiscore file with names
  932. 19 characters or less than you can still use it.  Otherwise you'll have to
  933. delete it or manually shorten the names before running this version with it.
  934.  
  935. -----------------------
  936. Thursday, Jun. 19, 2003
  937. -----------------------
  938. - 4:00PM
  939.     Done some minor changes in the pacman and pace code to bring it up
  940. to date with newer versions of Allegro.
  941.